#ifndef __SLL_H__
#define __SLL_H__

typedef unsigned long item_t;
struct node {
    item_t item;
    struct node *prev, *next;
};
typedef struct node *link;

link new_node(item_t);
void free_node(link);
link search(item_t);
void insert(link);
void delete(link);
void traverse(void (*)(link));
void destroy(void);
void enqueue(link);
link dequeue(void);

#endif

